package com.hly.musicbackground.model.boots.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hly.musicbackground.domain.Fiction;
import com.hly.musicbackground.domain.FictionChapter;
import org.jsoup.nodes.Document;

import java.util.List;

public interface FictionChapterService extends IService<FictionChapter> {

    /**
     * 将Document对象中的数据转换成实体类
     * @param document 小说详情的Document对象
     * @param fid 小说id
     * @return List 返回章节列表
     * */
    List<FictionChapter> DocumentToObject(Document document, int fid);

    /**
     * 将Document对象中的数据转换成实体类，并且将最新章节更新到数据库
     * @param document 小说详情的Document对象
     * @param fid 小说id
     * @return boolean 是否更新了最新的章节
     * */
    boolean DocumentToObjectAndUpdate(Document document, int fid);

    /**
     * 获取一本书的目录，如果数据库没有则从网络中获取
     * @param fiction 小说对象
     * @return List 返回章节列表
     * */
    List<FictionChapter> getAutoFictionChapterList(Fiction fiction);

    /**
     * 获取一本书的最新章节
     * @param fictionId 小说id
     * @return FictionChapter 返回章节
     * */
    FictionChapter getNewChapter(int fictionId);

    /**
     * 获取一本书的目录长度
     * @param fictionId 小说id
     * @return int 目录长度
     * */
    int getChapterLength(int fictionId);

    long getFictionChapterCount(int fictionId);
}
